const { defineConfig } = require('@vue/cli-service')
const path = require('path')
module.exports = defineConfig({
    transpileDependencies: true,
    devServer: {
        host: 'localhost',
        port: 3000,
        open: true,
        proxy: {
            // 所有 以/api开头的 请求 要求 所有的请求必须以/api
            '/api': {
                // 代理的源 服务器代理 真正发送源的地址
                target: 'https://www.fastmock.site/mock/d05dd9bbaca9cf7cd4dd2ca0754c83b7',
                // 代理时，是否切换源
                changeOrigin: true,
                // 路径重写
                pathRewrite: {
                    // ^代表开头 这里代表 所有的以/api开头的请求
                    '^/api': '/api'
                }
                /* 
                	路径重写的概念：
                		反向代理 要求所有的请求/api开头
									两种请求：
										实际真实地址中  有/api前缀的   服务器源/api/getItemLists
										实际真实地址中 没有/api前缀    服务器源/getItemLists
									真正发送出去的地址应该是

									代理target+路径重写的值+path(去掉/api)
									举例：
										开发中一个请求地址是 /api/getItemLists
										https://www.fastmock.site/mock/d05dd9bbaca9cf7cd4dd2ca0754c83b7+/api+getItemLists
                */
            }
        }
    },
    lintOnSave: false,
    chainWebpack: config => {
        config.resolve.alias
            .set('@', path.join(__dirname, 'src'))
            .set('_views', path.join(__dirname, 'src/views'))
            .set('_components', path.join(__dirname, 'src/components'))
            .set('_utils', path.join(__dirname, 'src/utils'))
            .set('_api', path.join(__dirname, 'src/api'))
    }
})